@import url('https://fonts.googleapis.com/css?family=Roboto:100,400,700');

input::placeholder, textarea::placeholder {
    opacity: 1;
    transition: opacity .2s;
    color: inherit;
}

input:focus::placeholder, textarea:focus::placeholder {
    opacity: .2;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    opacity: 1;
    transition: opacity .2s;
    color: inherit;
}

input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
    opacity: .2;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

* {
    box-sizing: border-box;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent !important;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
    outline: none;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    cursor: default;
    font-family: "Roboto", sans-serif;
    letter-spacing: 0;
}

body {
    background-color: #FAFAFA;
    color: #5c616c;
    margin: 0;
    font-size: 13px;
}

a:link, a:visited, a:active, a {
    color: #367bf0;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
}

a * {
    cursor: pointer !important;
}

a:link:hover, a:visited:hover, a:active:hover, a:hover {
    text-decoration: underline
}

label {
    cursor: pointer;
    display: inline-block;
    padding: .56em 0;
}

h1, h2, h3, h4, h5, h6 { line-height: 1.5em; }

h1 {
    font-size: 4em;
    font-weight: lighter;
    margin: .7em 0;
}

h2 {
    font-size: 3em;
    font-weight: lighter;
    margin: .8em 0;
}

h3 {
    font-size: 2.5em;
    font-weight: lighter;
    margin: .9em 0;
}

h4 {
    font-size: 2em;
    font-weight: lighter;
    margin: 1em 0;
}

h5 {
    margin: .5em 0;
    font-size: 1.2em;
    font-weight: normal;
}

h6 {
    margin: 1em 0 1em 1.4em;
    font-size: 1em;
    font-weight: bold;
}

section, article, .section, .article, .paper {
    line-height: 2em;
    word-wrap: break-word;
    word-break: normal;
    line-height: 2em;
}

hr {
    width: 50%;
    border: 3px solid #5c616c;
    background-color: #5c616c;
    border-radius: 4px;
}

code, pre {
    padding: 5px 10px;
    border-radius: 4px;
    overflow: auto;
    box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .05);
}

code { background: #E6E6E6; }

pre {
    background: white;
    margin: 40px 0;
}

code, code *, pre, pre * {
    font-size: 12px;
    font-family: monospace;
    line-height: 2em;
    cursor: auto;
    user-select: text;
    -webkit-touch-callout: text;
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
}

blockquote {
    background-color: #FFF;
    padding: 5px 10px;
    border-radius: 4px;
    box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .05);
    border-left: 6px solid #49AEE6;
}

input:not([type=submit]):not([type=reset]):not([type=radio]):not([type=checkbox]),
textarea, select {
    border: 2px solid #000;
    background: #FFF;
    color: #000;
    border-radius: 3px;
    margin: 7px 0;
    height: 45px;
    padding: 0 10px;
    font-size: 14px;
    font-weight: bold;
    cursor: text;
    user-select: text;
    -webkit-touch-callout: text;
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
}

input[type=checkbox], input[type=radio] {
    font-size: 1em;
    border: .125em solid #000;
    background: #FFF;
    cursor: pointer;
    height: 1.2em;
    width: 1.2em;
    box-shadow: inset 0 0 0 .125em #FFF;
    vertical-align: text-top;
    margin: 0 .3em;
    padding: 0;
    transition: background-color .2s, box-shadow .2s;
}

input[type=checkbox]:checked, input[type=radio]:checked {
    background: #367bf0;
}

label:hover > input[type=checkbox]:checked, label:hover > input[type=radio]:checked {
    box-shadow: inset 0 0 0 0.1875em #FFF;
}

label:hover > input[type=checkbox]:not(:checked), label:hover > input[type=radio]:not(:checked) {
    background: #b8174c;
}

input[type=checkbox] {
    border-radius: .1875em;
}

input[type=radio] {
    border-radius: 100%;
}

input[type=number] {
    -moz-appearance: textfield;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

textarea {
    padding: 10px;
    height: 200px;
}

label.checktext {
    width: auto;
    padding: 0;
}

label.checktext input {
    display: none;
}

label.checktext span {
    display: inline-block;
    cursor: pointer;
    color: #5c616c;
    border-bottom: .125em solid #5c616c;
    margin: .7em .625em;
    line-height: 1em;
    transition: transform .2s;
}

label.checktext input:not(:checked)+span:hover {
    transform: scale(1.3);
}

label.checktext input:checked + span {
    color: #000;
    font-weight: bold;
    font-size: 2.5em;
    margin: -.25em .255em 0;
    transform: translateY(.12em);
    border-color: #367bf0;
}

select {
    cursor: pointer;
    padding-right: 40px;
    text-align-last: center;
    background: url() no-repeat right 10px center #FFF;
}

.onoffswitch {
    font-weight: bold;
    overflow: hidden;
    height: 45px;
    padding: 0;
    margin-top: 7px;
    display: inline-block;
    transition: transform .2s;
}

.onoffswitch:hover {
    transform: scale(1.03);
    filter: drop-shadow(0 2px 1px rgba(0, 0, 0, .25));
}

.onoffswitch * {
    cursor: pointer
}

.onoffswitch > span {
    height: 45px;
    text-align: left;
    position: relative;
    padding: 0;
    width: 96px;
    display: inline-block;
    overflow: hidden;
    background: #b8174c;
    border: 3px solid #811035;
    border-radius: 23px;
    transition: border-color 0.2s;
}

.onoffswitch > span::after {
    content: ' ';
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateX(0);
    transition: transform 0.2s;
    height: 34px;
    width: 34px;
    border-radius: 17px;
    margin: 3px;
    background: #FFF;
    box-shadow: 0 3px 1px rgba(0, 0, 0, .5);
}

.onoffswitch input {
    display: none;
}

.onoffswitch span span {
    width: 200%;
    transform: translateX(-50%);
    transition: transform 0.2s;
    display: block;
}

.onoffswitch span span::before, .onoffswitch span span::after {
    color: #FFF;
    float: left;
    width: 50%;
    height: 40px;
    font-size: 16px;
    line-height: 40px;
    box-sizing: border-box;
    border-radius: 40px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .5)
}

.onoffswitch span span::before {
    content: attr(data-on);
    padding-left: 20px;
    background: #367bf0;
}

.onoffswitch span span::after {
    content: attr(data-off);
    padding-right: 20px;
    background: #b8174c;
    text-align: right;
}

.onoffswitch input:checked + span span {
    transform: translateX(0);
}

.onoffswitch input:checked + span::after {
    transform: translateX(50px);
}

.onoffswitch input:checked + span {
    background: #367bf0;
    border-color: #2656a8;
}

button,
input[type=submit],
input[type=reset],
.blue-button, input.blue-button,
.red-button, input.red-button,
.green-button, input.green-button {
    border-radius: 4px;
    font-weight: bold;
    color: #FFF;
    margin-top: 7px;
    text-align: center;
    cursor: pointer;
    font-size: 16px;
    height: 45px;
    width: 120px;
    border: 3px solid #272a34;
    background: #737680;
    line-height: 40px;
    display: block;
    transition: border .2s .2s, text-shadow .2s .2s, background .2s .2s, transform .2s, color .2s .2s, box-shadow .2s;
    text-transform: capitalize;
}

.rounded-button {
    border: none;
    cursor: pointer;
    height: 56px;
    width: 56px;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
    text-shadow: 0 0 1px;
    border-radius: 100%;
    font-size: 35px;
    line-height: 56px;
    text-align: center;
    color: #FFF;
    background: #8c42ab;
    font-weight: 100;
    display: block;
    transition: text-shadow .2s .2s, background .2s .2s, transform .2s, color .2s .2s, box-shadow .2s;
}

.rounded-button:hover { transform: scale(1.04); }

button:hover,
input[type=submit]:hover,
input[type=reset]:hover,
.blue-button:hover, input.blue-button:hover,
.red-button:hover, input.red-button:hover,
.green-button:hover, input.green-button:hover {
    transform: scale(1.03);
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
}

button:active, button.active,
input[type=submit]:active, input[type=submit].active,
input[type=reset]:active, input[type=reset].active,
.blue-button:active, input.blue-button:active, .blue-button.active, input.blue-button.active,
.red-button:active, input.red-button:active, .red-button.active, input.red-button.active,
.green-button:active, input.green-button:active, .green-button.active, input.green-button.active,
.rounded-button:active, .rounded-button.active {
    box-shadow: none;
    border-color: #000;
    color: #000;
    text-shadow: none;
    background: #FFF;
    transition: transform .2s, box-shadow .2s;
}

.rounded-button:active, .rounded-button.active { box-shadow: 0 0 10px rgba(0, 0, 0, .6); }

.blue-button, input.blue-button {
    background: #367bf0;
    border-color: #2656a8;
}

.red-button, input.red-button {
    background: #b8174c;
    border-color: #811035;
}

.green-button, input.green-button {
    background: #19a187;
    border-color: #12715f;
}

.paper {
    font-size: 16px;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
    padding: 10px 20px;
    background-color: #FFF;
    margin-top: 20px;
    min-height: 100px;
    color: #000;
}

.with-shadow {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
}

.selectable, .selectable * {
    cursor: auto;
    user-select: text;
    -webkit-touch-callout: text;
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
}

::-moz-focus-inner {
    border: 0;
}

::-moz-selection {
    color: #FFFFFF;
    background: #000;
}

::selection {
    color: #FFFFFF;
    background: #000;
}
